﻿// <copyright file="ISociologicalData.cs" company="QUT">
//     Copyright (c) Ninety Nine Percent. All rights reserved.
// </copyright>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FileHelpers;

namespace Qut.GenerateKml.Data
{
    /// <summary>
    /// Interface for managing sociological data.
    /// </summary>
    public interface ISociologicalData
    {
        /// <summary>
        /// Preloads the federal election results for Queensland 2004.
        /// </summary>
        /// <param name="filePath">The file path.</param>
        void PreloadFederalElectionResultsQld2004(string filePath);

        /// <summary>
        /// Preloads the QLD federal results 2 party preferred by electorate 2004.
        /// </summary>
        /// <param name="filePath">The file path.</param>
        void PreloadQldFederalResults2PartyPreferredByElectorate2004(string filePath);

        /// <summary>
        /// Preloads the QLD federal results by electorate 2004.
        /// </summary>
        /// <param name="filePath">The file path.</param>
        void PreloadQldFederalResultsByElectorate2004(string filePath);

        /// <summary>
        /// Preloads the QLD federal state electorate mapping.
        /// </summary>
        /// <param name="filePath">The file path.</param>
        void PreloadQldFederalStateElectorateMapping(string filePath);

        /// <summary>
        /// Preloads the QLD state results by electorate2006.
        /// </summary>
        /// <param name="filePath">The file path.</param>
        void PreloadQldStateResultsByElectorate2006(string filePath);

        /// <summary>
        /// Gets any divisions which are not matching in geographic data
        /// </summary>
        /// <param name="mapInfo">The map info.</param>
        /// <returns>List of missing division</returns>
        List<string> GetMissingDivision(MapInfoFile mapInfo);
    }
}
